package com.wy.io;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Arrays;

/**
  *   hello.txt中内容：123456空格hello【空格占两个字节：\r\n】
 **/
public class ReadFile1 {
//    public static void main(String[] args) throws IOException {
////        FileInputStream is=new FileInputStream("hello.txt");
////        //等价于
////        File file=new File("hello.txt");
////        FileInputStream is1=new FileInputStream(file);
//        //一般不去写实现类FileInputStream，写接口，因为用到的是接口中的方法
//        //关注接口不要关注实现类
//        InputStream is=new FileInputStream("hello.txt");
//        byte[] b=new byte[20];
//        int n=is.read(b);//读取文件内容到数组，返回大小
//        System.out.println(n);//13，因为文件内容只有13个字节
//        System.out.println(Arrays.toString(b));
//        n=is.read();//因为内容只有13字节，上一步已经全部读取完毕，此时读取下一个字节会返回-1
//        System.out.println(n);
//        is.close();//记得关闭文件
//    }
public static void main(String[] args) throws IOException {
    try(InputStream is=new FileInputStream("hello.txt")){
        byte[] b=new byte[10];
        int n=is.read(b);//读取文件内容到数组，返回大小
        System.out.println(n);//13，因为文件内容只有13个字节
        System.out.println(Arrays.toString(b));
        n=is.read();//因为内容只有13字节，上一步已经全部读取完毕，此时读取下一个字节会返回-1
        System.out.println(n);
    }//出了这个大括号自动会关闭文件，不需要手动close了
}
}
/**
 * 结果：13
 * [49, 50, 51, 52, 53, 54, 13, 10, 72, 101, 108, 108, 111, 0, 0, 0, 0, 0, 0, 0]
 */
/**
 * 10
 * [49, 50, 51, 52, 53, 54, 13, 10, 72, 101]
 * 108
 */